package strain.solver;

import java.util.Queue;

import strain.domain.BoolDomain;
import strain.domain.EnumDomain;
import strain.domain.IntDomain;
import strain.domain.RealDomain;

public interface DomainPartitioner {
    
    <T> Queue<EnumDomain<T>> partitionDomain(EnumDomain<T> domain);
    Queue<BoolDomain> partitionDomain(BoolDomain domain);
    Queue<IntDomain>  partitionDomain(IntDomain domain);
    Queue<RealDomain> partitionDomain(RealDomain domain);
    
}
